\section{Apéndice A}
\newcommand{\real}{\hbox{\bf R}}
\begin{centering}
\large\bf Laboratorio de M\'etodos Num\'ericos - Segundo Cuatrimestre 2012 \\
\large\bf Trabajo Pr\'actico N\'umero 1: La debilidad de Superman\\
\end{centering}

\vskip 0.5 cm
\hrule
\vskip 0.1 cm

{\bf Introducci\'on}

Superman est\'a volando sobre la ciudad de Metr\'opolis, pero el malvado
Lex Luthor ha di\-se\-mi\-na\-do rocas de kriptonita por toda la ciudad. Como sabemos,
la kriptonita tiene la propiedad de debilitar a nuestro superh\'eroe.
La figura muestra la situaci\'on y su representaci\'on en un modelo: la flecha es la trayectoria de Superman, y
los c\'irculos verdes muestran las ubicaciones de la kriptonita. Nuestro objetivo es
informar a Superman si puede atravesar la ciudad sin riesgo de caer.

%\begin{figure}[h]
%\centering
%\hskip 0.01 cm \psfig{file=superman.jpg}
%\includegraphics[width=0.4\textwidth]{superman}
%\end{figure}

\begin{figure}[h]
	\centering
		\includegraphics[width=15cm,height=5cm]{supermodelo.JPG}
	\label{fig:superman}
\end{figure}

Sean $x_1,\dots,x_n \in\real^3$ las ubicaciones de las rocas
de kriptonita, y sea $f:[0,1]\to\real^3$ la funci\'on de trayectoria de
Superman, expresada como una trayectoria param\'etrica en funci\'on del
tiempo. Asumimos que la trayectoria es una recta, es decir $f(t) = at+b$,
con $a,b\in\real^3$. En el instante $t\in[0,1]$, Superman
estar\'a en la posici\'on $f(t)$, y su nivel de aturdimiento
est\'a dado por:
\begin{displaymath}
A(t) \ =\ \sum_{i=1}^n {1\over || f(t) - x_i||_2}.
\end{displaymath}
Es decir, cada roca aporta al aturdimiento una cantidad que es
inversamente proporcional a la distancia de Superman a la roca. Superman
cae al piso si en alg\'un instante $t\in[0,1]$ el aturdimiento $A(t)$ es
mayor que un cierto valor cr\'\i tico $C$.

{\bf Enunciado}

El objetivo del trabajo pr\'actico es implementar un programa que permita
decidir si Superman puede atravesar la ciudad sin sufrir un golpe contra
el pavimento.
En la implementaci\'on se deber\'a explorar las siguientes alternativas:

\begin{enumerate} 
\item Evaluar los distintos m\'etodos vistos en clase
que permitan resolver este problema.
\item Implementar al menos dos m\'etodos con aritm\'etica binaria de punto flotante con $t$ d\'igitos de precisi\'on en la mantisa. El valor $t$ debe ser un par\'ametro de la implementaci\'on, con $t<52$.
\item Elegir un par de instancias de prueba y realizar experimentos num\'ericos con cada m\'etodo implementado en el item anterior y en funci\'on de las cantidad de d\'igitos $t$ de presici\'on en la mantisa.
\item Mostrar los resultados obtenidos en cuanto a cantidad necesaria de iteraciones, tiempo de ejecuci\'on, precisi\'on en el resultado, para cada m\'etodo implementado.
\item Extraer conclusiones sobre la efectividad de cada m\'etodo observando los resultados anteriores.
\item {\bf Opcional:}Por \'ultimo, si Superman no puede atravesar Metr\'opolis sin caer (como resultado de lo calculado anteriormente) proponer a Superman una  trayectoria ligeramente distinta tal que pueda llevar a cabo su cometido. En este sentido, implementar una funcionalidad que, dado un cierto valor de C, el valor cr\'itico, permita encontrar una trayectoria que asegure a Superman un vuelo seguro. En este caso usar el m\'etodo que crea m\'as conveniente de los implementados y justificarlo.
\end{enumerate}
{\bf Importante}: notar que la funci\'on de aturdimiento tiende a infinito (valores absolutos muy grandes) a medida
que la trayectoria de Superman toma valores parecidos a la posici\'on de una roca de
kriptonita. Esto hace que la resta que aparece en el denominador de la $A(t)$ sea muy chica, con lo cual el resultado final es muy grande. Esto hace que puedan presentarse problemas num\'ericos si la
trayectoria pasa muy cerca de una roca. El m\'etodo implementado debe tener en cuenta esta situaci\'on.

{\bf Formato de archivos de entrada}

El programa debe tomar los datos desde un archivo de texto con el formato
indicado en la figura 1. El archivo contiene primero la cantidad de rocas,
seguida de las ubicaciones $x_1,\dots,x_n$ de las rocas (las coordenadas
se separan por espacios en blanco). Luego se informan los vectores $a$ y $b$
que definen la trayectoria de Superman, finalizando el archivo con el valor
cr\'\i tico $C$. Junto con este enunciado, se entrega un archivo de prueba
para realizar los primeros experimentos.

%\vfill 
%\eject
\begin{figure}[ht]
\hrule
\vskip 11pt
\begin{verbatim}
                                 n
                                 x11 x12 x13
                                 x21 x22 x23
                                 ...
                                 xn1 xn2 xn3
                                 a1 a2 a3
                                 b1 b2 b3
                                 C
\end{verbatim}
\centering
\vskip 0.5pt
\hrule
\vskip 0.1pt
Figura 1: Formato del archivo de entrada.
\end{figure}

\vskip 0.5 cm
\hrule
\vskip 0.1 cm

{\bf Fecha de entrega:} \\
%\begin{itemize}
\_ \textit {Formato electr\'onico:} martes 4 de septiembre de 2012, hasta las 23:59 hs, a \texttt{metnum.lab@gmail.com}\\
\_ \textit {Formato f\'isico:} mi\'ercoles 5 de septiembre de 2012, de 17 a 19hs (en la clase te\'orica).\\
%\end{itemize}
\newpage

\section{Apéndice B}
\subsection{Instrucciones de Compilación del TP1}
Para compilar el TP se ejecuta por l\'inea de comando el archivo Makefile incluido. Es decir, una vez ubicado el usuario en la carpeta ejecutar el comando $make$ bajo el sistema operativo Linux.
Esto crear\'a un archivo ejecutable $main$. Para ejecutar de manera correcta el archivo $main$ hay que pasarle una serie de par\'ametros: en primer lugar hay que introducirle la presici\'on que deseamos que tengan los resultados, esto lo hacemos mediante un n\'umero natural menor o igual a 52, en segundo lugar hay que introducirle el caso de test, de los 5 posibles, que queremos ejecutar ($caso1.txt$, $caso2.txt$, $caso3.txt$, $caso4.txt$ o $caso5.txt$). Un ejemplo de la l\'inea de ejecuci\'on es:\\\\
$./main$ $52$ $caso1.txt$\\\\
En el ejemplo detallado se ejecuta el caso1.txt con precisi\'on 52. Si no se ingresa ning\'un valor en el par\'ametro correspondiente al test, toma como test los datos que se encuentren en el archivo $Tp1.in$.\\
Una vez ejecutada la l\'inea de comando, por pantalla se ver\'an los resultados del mismo. En estos resultados se podr\'a visualizar los datos de la instancia que estamos evaluando para el caso introducido. Luego, se informa el resultado del M\'etodo de la  $Secante$ y siguiente el resultado del M\'etodo $Newton-Raphson$. El resultado de ambos m\'etodos es alguno de los siguientes mensajes: $Superman$ $vive!!$ o $Cayo$ $Superman$, donde nos informa la situaci\'on de Superman para el caso/instancia implementado.








